System and method for joint time tracking of multiple paths

ABSTRACT

In a receiver having at least two fingers, the fingers tracking at least one path of a multipath channel, a method includes the steps of forming a finger block of at least two of the two fingers and jointly tracking the fingers of said finger block. The step of jointly tracking includes the steps of generating direction metrics of each of a set of possible directions of joint movement of the fingers of the finger block, selecting one of the direction metrics according to a predetermined criterion, and moving the fingers of the finger block in the directions indicated by the selected direction metric.

FIELD OF THE INVENTION

The present invention relates to systems and methods for tracking the delays of channel paths in general and of jointly tracking the time delays of multiple paths (multipath components) in particular.

BACKGROUND OF THE INVENTION

In recent years, direct sequence (DS) code division multiple access (CDMA) spread spectrum communication systems and methods have experienced growing attention worldwide. The IS-95 cellular communication standard is one example of an application of DS-CDMA communications, as described in the article TIA/EIA/IS-95-A, “Mobile Station-Base Station Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular System”, Feb. 27, 1996. Additional applications include third generation cellular systems, wireless multimedia systems, personal satellite mobile systems, and more.

In DS-CDMA communications, each user is assigned a distinct spreading code often referred to as pseudo noise (PN) sequence. The spreading code bits (called chips) are used to modulate the user data. The number of chips used to modulate one data symbol is known as the spreading factor of the system, and it is related to the spreading in bandwidth between the (unmodulated) user data and the CDMA signal. In this simplest form, the base-band equivalent of the transmitted CDMA signal, sampled at the chip rate 1/Tc, is ${{T\lbrack n\rbrack} = {\sum\limits_{i = 1}^{\kappa}\quad {{a_{i}\left\lbrack {{n/{SF}}} \right\rbrack} \cdot {{PN}_{i}\lbrack n\rbrack}}}},$

where Tc is the chip duration, └x┘ denotes the integer part of x, SF is the spreading factor, α_(i)[└n/SF┘] and PN_(i)[n] are the data symbol and spreading code of the i-th user, respectively, and K is the number of active users. Note that by the definition of └x┘, α_(i)[└n/SF┘] is fixed for SF consecutive chips, in accordance with the definition above that each data symbol is modulated by SF chips.

An important feature of DS-CDMA systems is that they provide the possibility of obtaining excellent immunity to multipath fading through resolving the individual, time separated multipath components and optimally combining them. The common approach for achieving this is to use a “rake” receiver as it is known in the art. Such a receiver assigns despreading correlators to each of the dominant multipath components and synchronizes them for maximum de-spread power. For each of the rake “fingers”, the phase and amplitude of the corresponding channel multipath component is estimated and used to apply amplitude weighting and phase alignment prior to combining. The weighted sum of the multipath components will experience considerably less fading than any of the individual components so that a diversity gain is obtained.

As is known in the art, a crucial requirement of the rake receiver is that its fingers are time aligned (synchronized) with the multipath components of the channel. This requires estimation of the multipath delays and is often achieved by a simple early-late time tracking mechanism. The early-late mechanism is, in fact, a delay-lock-loop that measures the energy prior (early) and after (late) the current sampling instances. These early and late energy measurements are used to lock on the sampling instance that maximizes the sampled signal energy. As it turns out, these maximal energy sampling instances leads, in many cases, to the desired synchronization of the rake fingers to the channel multipath components. However, some channels, for example those encountered in dense urban environments, consist of a large number of closely spaced multipath components. This leads to multipath clusters that are often spaced less than Tc apart. Conventional early-late time tracking mechanism are often incapable of tracking the delays associated with those closely spaced multipath clusters since their early and late measures are a superposition of the energies associated with several adjacent clusters. In such a situation, the rake fingers are not properly time aligned with the multipath clusters, leading to degradation in the receiver performance.

It would therefore be beneficial to have an improved time tracking mechanism that is more robust to the presence of closely spaced multipath components.

It would also be beneficial to have an improved criterion for finger assignment in closely spaced multipath environment.

In recent years several methods for combating closely spaced multipath components in DS-CDMA communication systems were derived. In U.S. Pat. No. 5,692,006 to Ross, U.S. Pat. No. 5,648,983 to Kostic et al. and U.S. Pat. No. 5,793,796 to Hulbert et al. it is suggested to avoid direct estimation of the path delays, Instead, a bank of closely spaced fingers is utilized to effectively cover a pre-specified delay window. Thus instead of actually estimating the multipath delays all possible delays in the window are examined and weighted according to some quality measure criterion. In U.S. Pat. No. 5,692,006 a conventional LMS algorithm is used to adaptively estimate optimal finger weighting, whereas in U.S. Pat. No. 5,648,983 a weighted least squares solution is used to assign the finger weights.

Other solutions can be found in:

EP Patent Publication 704 985 A2 to Hulbert;

U.S. Pat. No. 5,764,688 to Hulbert et al.;

I. Dumont, et al., “Super-resolution of Multipath Channels in a Spread Spectrum Location System”, Electronics Letters, Vol. 30, No. 19, Sep. 15, 1984; and

Makoto Takeuchi et al., “A Delay Lock Loop Using Delay Path Cancellation for Mobile Communications”, Electronics and Communication in Japan, Part 1, Vol. 79, No. 4, 1996.

SUMMARY OF THE INVENTION

The present invention provides an improved time tracking mechanism that is more robust in the presence of closely spaced multipath components.

The present invention also provides a criterion for finger assignment in a closely spaced multipath environment.

There is therefore provided in accordance with a preferred embodiment of the present invention a method used in a receiver having at least two fingers forming a finger block, the finger block tracking at least one path of a multipath channel. The method includes the steps of generating direction metrics of each of a set of possible directions of joint movement of the fingers of the finger block, selecting one of the direction metrics according to a predetermined criterion, and moving the fingers of the finger block in the directions indicated by the selected direction metric.

Moreover, in accordance with a preferred embodiment of the present invention, the selected metric is the maximal direction metric.

Furthermore, in accordance with a performed embodiment of the present invention, the step of moving adjusts the fingers of the finger block only if the selected direction metric is the maximal direction metric and exceeds a comparison direction metric by at least a predetermined threshold.

Additionally, in accordance with a preferred embodiment of the present invention, the method further includes the step of redefining finger blocks after the step of moving.

Moreover, in accordance with a preferred embodiment of the present invention, the finger block is formed of two fingers.

Furthermore, in accordance with a preferred embodiment of the present invention, the direction metrics are generated for five, six or nine different directions of joint movement.

Additionally, in accordance with a preferred embodiment of the present invention, the finger block is formed of two closely spaced fingers.

Moreover, in accordance with a preferred embodiment of the present invention, the closely spaced fingers are ⅞ chip apart.

Furthermore, in accordance with a preferred embodiment of the present invention, the finger block is formed of three fingers.

Additionally, in accordance with a preferred embodiment of the present invention, delays between fingers are set to be no smaller than ⅞ chip.

Moreover, in accordance with a preferred embodiment of the present invention, the step of generating includes the step of time averaging the direction metrics by summing consecutive direction metrics.

Furthermore, in accordance with a preferred embodiment of the present invention, the step of time averaging uses a forgetting factor.

Additionally, in accordance with a preferred embodiment of the present invention, the direction are based on power estimation.

There is also provided in accordance with a preferred embodiment of the present invention a method for deactivating a selected one of at least two fingers forming a finger block in a receiver. The method includes the steps of measuring powers of the fingers of the finger block, calculating crosscorrelations of the fingers of the finger block with one another, and deactivating the selected finger when a function of the powers and the crosscorrelations satisfies a predetermined criterion.

Moreover, in accordance with a preferred embodiment of the present invention, the finger block has two fingers.

Furthermore, in accordance with a preferred embodiment of the present invention, the function is

FingerCost=α·min(PowerCenter₁,PowerCenter₂)−ρ·C

where α is a value between zero and one. PowerCenter₁ and PowerCenter₂ are powers of fingers in the finger block, C is a predetermined value and ρ is one of the calculated crosscorrelations.

Additionally, in accordance with a preferred embodiment of the present invention, ρ is $\begin{matrix} {{\rho = \quad {\frac{{Re}{\sum\limits_{k = 1}^{N}\quad \left( {{{ch}_{{Finger}\quad 1}(k)} \cdot {{ch}_{{Finger}\quad 2}^{*}(k)}} \right)}}{\sum\limits_{k = 1}^{N}\quad {\left( {{{ch}_{{Finger}\quad 1}(k)} \cdot {{ch}_{{Finger}\quad 2}^{*}(k)}} \right)}}\quad {or}}}\quad} \\ {\quad {\rho = \quad {\frac{{\sum\limits_{k = 1}^{N}\quad {{{ch}_{{Finger}\quad 1}(k)} \cdot {{ch}_{{Finger}\quad 2}^{*}(k)}}}}{\sqrt{\sum\limits_{k = 1}^{N}\quad {{{{ch}_{{Finger}\quad 1}(k)}}^{2} \cdot {\sum\limits_{k = 1}^{n}\quad {{{ch}_{{Finger}\quad 2}^{*}(k)}}^{2}}}}}.}}} \end{matrix}$

Moreover, in accordance with a preferred embodiment of the present invention, the step of calculating uses a forgetting factor.

There is also provided in accordance with a preferred embodiment of the present invention α for assigning a new path to a finger candidate which is one of at least one inactive fingers in a receiver also having a plurality of active fingers. The method includes the steps of measuring the power of the new path, and calculating the crosscorrelation of the finger candidate and the one of the active fingers whose time delay is closest to the time delay of the finger candidate.

Moreover, in accordance with a preferred embodiment of the present invention, the method further includes the step of assigning the finger candidate to the new path when a composite finger power for the finger candidate satisfies a predetermined criterion.

Furthermore, in accordance with a preferred embodiment of the present invention, the step of calculating uses a crosscorrelation function defined as $\begin{matrix} {{\rho = \quad {\frac{{Re}{\sum\limits_{k = 1}^{N}\quad \left( {{{ch}_{{Finger}\quad {Candidate}}(k)} \cdot {{ch}_{{ClosestFinger}\quad}^{*}(k)}} \right)}}{\sum\limits_{k = 1}^{N}\quad {\left( {{{ch}_{{Finger}\quad {Candidate}}(k)} \cdot {{ch}_{{ClosestFinger}\quad}^{*}(k)}} \right)}}\quad {or}}}\quad} \\ {\quad {\rho = \quad {\frac{{\sum\limits_{k = 1}^{N}\quad {{{ch}_{{Finger}\quad {Candidate}}(k)} \cdot {{ch}_{{ClosestFinger}\quad}^{*}(k)}}}}{\sqrt{\sum\limits_{k = 1}^{N}\quad {{{{ch}_{{Finger}\quad {Candidate}}(k)}}^{2} \cdot {\sum\limits_{k = 1}^{n}\quad {{{ch}_{{ClosestFinger}\quad}^{*}(k)}}^{2}}}}}.}}} \end{matrix}$

Additionally, in accordance with a preferred embodiment of the present invention, the step of calculating uses a forgetting factor.

There is also provided in accordance with a preferred embodiment of the present invention a method for reassigning a finger candidate which is one of a plurality of active fingers in a receiver to a new path. The method includes the steps of measuring the power of the new path, and calculating the crosscorrelation of the finger candidate and the one of the active fingers whose time delay is closest to the time delay of the finger candidate.

Moreover, in accordance with a preferred embodiment of the present invention, the method further includes the step of reassigning the finger candidate to the new path when a composite finger power for the finger candidate exceeds the minimum composite finger power of all the active fingers.

Furthermore, in accordance with a preferred embodiment of the present invention, the step of calculating uses a crosscorrelation function defined as $\begin{matrix} {{\rho = \quad {\frac{{Re}{\sum\limits_{k = 1}^{N}\quad \left( {{{ch}_{{Finger}\quad {Candidate}}(k)} \cdot {{ch}_{{ClosestFinger}\quad}^{*}(k)}} \right)}}{\sum\limits_{k = 1}^{N}\quad {\left( {{{ch}_{{Finger}\quad {Candidate}}(k)} \cdot {{ch}_{{ClosestFinger}\quad}^{*}(k)}} \right)}}\quad {or}}}\quad} \\ {\quad {\rho = \quad {\frac{{\sum\limits_{k = 1}^{N}\quad {{{ch}_{{Finger}\quad {Candidate}}(k)} \cdot {{ch}_{{ClosestFinger}\quad}^{*}(k)}}}}{\sqrt{\sum\limits_{k = 1}^{N}\quad {{{{ch}_{{Finger}\quad {Candidate}}(k)}}^{2} \cdot {\sum\limits_{k = 1}^{n}\quad {{{ch}_{{ClosestFinger}\quad}^{*}(k)}}^{2}}}}}.}}} \end{matrix}$

Additionally, in accordance with a preferred embodiment of the present invention, the step of calculating uses a forgetting factor.

There is also provided in accordance with a preferred embodiment of the present invention a receiver having at least two fingers forming a finger block, the finger block tracking at least one path of a multipath channel. The receiver includes a direction metric determiner, a metric selector and a finger adjuster. The direction metric determiner generates direction metrics of each of a set of possible directions of joint movement of the fingers of the finger block. The metric selector selects one of the direction metrics according to a predetermined criterion. The finger adjuster moves the fingers of the finger block in the directions indicated by the selected direction metric.

Moreover, in accordance with a preferred embodiment of the present invention, the selected direction metric is the maximal direction metric.

Furthermore, in accordance with a preferred embodiment of the present invention, the finger adjuster moves the fingers of the finger block only if the selected direction metric is the maximal direction metric and exceeds a comparison direction metric by at least a predetermined threshold.

Additionally, in accordance with a preferred embodiment of the present invention, the finger adjuster includes a redefiner which redefines finger blocks once the fingers have been moved.

Moreover, in accordance with a preferred embodiment of the present invention, the finger block is formed of two fingers.

Furthermore, in accordance with a preferred embodiment of the present invention, the determiner generates the direction metrics for five, six or nine different directions of joint movement.

Additionally, in accordance with a preferred embodiment of the present invention, the finger block is formed of two closely spaced fingers.

Moreover, in accordance with a preferred embodiment of the present invention, the closely spaced fingers are ⅞ chip apart.

Furthermore, in accordance with a preferred embodiment of the present invention, the finger block is formed of three fingers.

Additionally, in accordance with a preferred embodiment of the present invention, delays between fingers are set to be no smaller than ⅞ chip.

Moreover, in accordance with a preferred embodiment of the present invention, the direction metrics are based on power estimation.

There is also provided in accordance with a preferred embodiment of the present invention a finger deactivator for deactivating a selected one of at least two fingers which form a finger block in a receiver. The finger deactivator includes a finger power measurement unit for measuring the powers of the fingers of the finger block, a correlation calculator for calculating the crosscorrelations of the fingers of the finger block with one another, and a deactivation unit for deactivating the selected finger when a function of the powers and the crosscorrelations satisfies a predetermined criterion.

Moreover, in accordance with a preferred embodiment of the present invention, the finger block has two fingers and the function is

FingerCost=α·min(PowerCenter₁,PowerCenter₂)−ρ·C

where α is a value between zero and one, PowerCenter₁ and PowerCenter₂ are powers of fingers in the finger block, C is a predetermined value and ρ is one of the calculated crosscorrelations.

Furthermore, in accordance with a preferred embodiment of the present invention, ρ is $\begin{matrix} {{\rho = \quad {\frac{{Re}{\sum\limits_{k = 1}^{N}\quad \left( {{{ch}_{{Finger}\quad 1}(k)} \cdot {{ch}_{{Finger}\quad 2}^{*}(k)}} \right)}}{\sum\limits_{k = 1}^{N}\quad {\left( {{{ch}_{{Finger}\quad 1}(k)} \cdot {{ch}_{{Finger}\quad 2}^{*}(k)}} \right)}}\quad {or}}}\quad} \\ {\quad {\rho = \quad {\frac{{\sum\limits_{k = 1}^{N}\quad {{{ch}_{{Finger}\quad 1}(k)} \cdot {{ch}_{{Finger}\quad 2}^{*}(k)}}}}{\sqrt{\sum\limits_{k = 1}^{N}\quad {{{{ch}_{{Finger}\quad 1}(k)}}^{2} \cdot {\sum\limits_{k = 1}^{n}\quad {{{ch}_{{Finger}\quad 2}^{*}(k)}}^{2}}}}}.}}} \end{matrix}$

Additionally, in accordance with a preferred embodiment of the present invention, the correlation calculator uses a forgetting factor.

There is also provided in accordance with a preferred embodiment of the present invention a finger assignor in a receiver having a plurality of active fingers and at least one inactive finger. The finger assignor is operative to assign a finger candidate which is one of the at least one inactive finger to a new path. The finger assignor includes a power measurement unit for measuring the power of the new path, and a correlation calculator for calculating the crosscorrelation of the finger candidate and the one of the active fingers whose time delay is closest to the time delay of the finger candidate.

Moreover, in accordance with a preferred embodiment of the present invention, the finger assignor further including an assignment unit for assigning the finger candidate to the new path when a composite finger power for the finger candidate satisfies a predetermined criterion.

Furthermore, in accordance with a preferred embodiment of the present invention, the correlation calculator uses a crosscorrelation function defined as $\begin{matrix} {{\rho = \quad {\frac{{Re}{\sum\limits_{k = 1}^{N}\quad \left( {{{ch}_{{Finger}\quad {Candidate}}(k)} \cdot {{ch}_{{ClosestFinger}\quad}^{*}(k)}} \right)}}{\sum\limits_{k = 1}^{N}\quad {\left( {{{ch}_{{Finger}\quad {Candidate}}(k)} \cdot {{ch}_{{ClosestFinger}\quad}^{*}(k)}} \right)}}\quad {or}}}\quad} \\ {\quad {\rho = \quad {\frac{{\sum\limits_{k = 1}^{N}\quad {{{ch}_{{Finger}\quad {Candidate}}(k)} \cdot {{ch}_{{ClosestFinger}\quad}^{*}(k)}}}}{\sqrt{\sum\limits_{k = 1}^{N}\quad {{{{ch}_{{Finger}\quad {Candidate}}(k)}}^{2} \cdot {\sum\limits_{k = 1}^{n}\quad {{{ch}_{{ClosestFinger}\quad}^{*}(k)}}^{2}}}}}.}}} \end{matrix}$

Additionally, in accordance with a preferred embodiment of the present invention, the correlation calculator uses a forgetting factor.

There is also provided in accordance with a preferred embodiment of the present invention a finger assignor in a receiver having a plurality of active fingers. The finger assignor is operative to assign a finger candidate which is one of the active fingers to a new path. The finger assignor includes a power measurement unit for measuring the power of the new path, and a correlation calculator for calculating the crosscorrelation of the finger candidate and the one of the active fingers whose time delay is closest to the time delay of the finger candidate.

Moreover, in accordance with a preferred embodiment of the present invention, the finger assignor further including an assignment unit for reassigning the finger candidate to the new path when a composite finger power for the finger candidate exceeds the minimum composite finger power of all the active fingers.

Furthermore, in accordance with a preferred embodiment of the present invention, the correlation calculator uses a crosscorrelation function defined as $\begin{matrix} {{\rho = \quad {\frac{{Re}{\sum\limits_{k = 1}^{N}\quad \left( {{{ch}_{{Finger}\quad {Candidate}}(k)} \cdot {{ch}_{{ClosestFinger}\quad}^{*}(k)}} \right)}}{\sum\limits_{k = 1}^{N}\quad {\left( {{{ch}_{{Finger}\quad {Candidate}}(k)} \cdot {{ch}_{{ClosestFinger}\quad}^{*}(k)}} \right)}}\quad {or}}}\quad} \\ {\quad {\rho = \quad {\frac{{\sum\limits_{k = 1}^{N}\quad {{{ch}_{{Finger}\quad {Candidate}}(k)} \cdot {{ch}_{{ClosestFinger}\quad}^{*}(k)}}}}{\sqrt{\sum\limits_{k = 1}^{N}\quad {{{{ch}_{{Finger}\quad {Candidate}}(k)}}^{2} \cdot {\sum\limits_{k = 1}^{n}\quad {{{ch}_{{ClosestFinger}\quad}^{*}(k)}}^{2}}}}}.}}} \end{matrix}$

Additionally, in accordance with a preferred embodiment of the present invention, the correlation calculator uses a forgetting factor.

There is also provided in accordance with a preferred embodiment of the present invention a method used in a receiver having at least two fingers, the fingers tracking at least one path of a multipath channel. The method includes the steps of forming a finger block of at least two of the at least two fingers, and jointly tracking the fingers of the finger block.

Moreover, in accordance with a preferred embodiment of the present invention, the step of jointly tracking includes the steps of generating direction metrics of each of a set of possible directions of joint movement of the fingers of the finger block, selecting one of the direction metrics according to a predetermined criterion, and moving the fingers of the finger block in the directions indicated by the selected direction metric.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the appended drawings in which:

FIG. 1 is a schematic illustration of the nine possible joint movements of two fingers;

FIGS. 2A-2C are schematic illustrations of the twenty-seven possible joint movements of three fingers;

FIG. 3 is a flow chart illustration of a general method of jointly time tracking multiple paths, constructed and operative in accordance with a preferred embodiment of the present invention;

FIG. 4 is a schematic illustration of six possible joint movements, useful when considering only closely spaced fingers;

FIG. 5 is a flow chart illustration of the operation of a finger block of two fingers, constructed and operative in accordance with a further preferred embodiment of the present invention, and considering the joint movements of FIG. 4;

FIG. 6 is a flow chart illustration of a method of redefining finger blocks forming part of the method of FIG. 5;

FIG. 7 is a flow chart illustration of a method of finger addition and finger replacing mechanism useful in a rake receiver performing the joint tracking method of FIG. 3; and

FIG. 8 is a flow chart illustration of a method of switching off joint tracking, useful in a rake receiver performing the joint tracking method of FIG. 5.

DETAILED DESCRIPTION OF THE PRESENT INVENTION

The present invention jointly tracks the timing of multiple paths or multiple path clusters. Any group of fingers, which jointly track multiple paths, is herein called a “finger block”. Finger blocks are especially useful for fingers that track paths which are “close” to their neighbors, but can also be used for paths which are not particularly close.

The definition of “close path” can be any desired definition but typically it defines paths which interfere with one another. For example, two close paths might be those whose time separation is less than 1.5 Tc, where Tc is the chip duration. “Close fingers” of a finger block are those which are within a certain predefined range RANGE of delays of its neighbors in the block, such as between one chip and half a chip. Thus, for a finger block of two fingers, finger 1 and finger 2 are within RANGE of each other. For a finger block of four fingers, where the fingers are ordered by their sampling point as finger 1, finger 2, finger 3 and finger 4, there is a delay within RANGE between neighboring fingers (finger 1 to finger 2, finger 2 to finger 3 and finger 3 to finger 4).

FIG. 1, to which reference is now made, illustrates the possibilities to consider for a finger block having two fingers, where each finger is shown with an arrow. Since the paths being tracked move about in time, the receiver must determine how the paths have moved in order to move their associated fingers.

As shown in FIG. 1, the possible nine movements are: both become later (direction 1), both become earlier (direction 2), both stay the same (direction 3), the second becomes later (direction 4) or earlier (direction 9), the first becomes later (direction 6) or earlier (direction 5), and both move towards each other (direction 8) or away from each other (direction 7).

FIGS. 2A-2C, to which reference is now briefly made, illustrate the possibilities for a finger block of three fingers. There are 27 possible finger movements, all of which can be separately considered when performing a joint tracking operation. FIGS. 2A-2C are believed to be self-explanatory considering the previous discussion and therefore, will not be further described.

To measure the possible movements, each finger is examined at its nominal (or center) sampling time and at plus or minus one or more fixed delays. The delays define “directions” of possible movement from the center sampling time. For example, a single delay, which might be of Tc/4, creates three directions of movement, “center”, “early” and “late”. The delayed signals are used to determine which of the possible movements actually occurred and to move the sampling point accordingly.

In the present invention, direction metrics are assigned to each of the possible movement directions, using measurements of the delayed versions of the data of the fingers of the finger block, and a decision tree is provided to determine from the direction metrics which movement occurred. Typically, the fingers are delayed slightly early and slightly late, therefore each finger should be examined early, late and center (i.e. no delay). However, other types and amounts of delays are possible and are incorporated into the present invention.

FIG. 3, to which reference is now made, is a flow chart illustration of the present invention. Initially, in step 10, a metric is assigned to each of the possible joint movement directions. In step 12 the direction with the strongest metric is chosen. If no finger movement is required (as in for example direction 3 of FIG. 1), then once again steps 10 and 12 are performed. If a finger movement is required, (e.g. all directions of FIG. 1 excluding direction 3), then each finger needs to be moved is moved to its new location in step 14. Finally, in step 16, a redefinition of the finger blocks occurs whenever the finger movement of step 14 causes new fingers to become within RANGE of each other, or when closely spaced fingers are separated and are not longer within RANGE of each other.

In one preferred embodiment step 10 is performed by assigning power-based metrics to each of the possible joint direction metrics. In accordance with FIG. 1, the direction metrics are assigned to each of the 9 possible joint directions: $\quad \begin{matrix} \left\{ \begin{matrix} {{{{Direction}_{1}{\_ metric}} = {{PowerLate}_{1} + {PowerLate}_{2}}}\quad} \\ {{{{Direction}_{2}{\_ metric}} = {{PowerEarly}_{1} + {PowerEarly}_{2}}}\quad} \\ {{{Direction}_{3}{\_ metric}} = {{PowerCenter}_{1} + {PowerCenter}_{2}}} \\ {{{{Direction}_{4}{\_ metric}} = {{PowerCenter}_{1} + {PowerLate}_{2}}}\quad} \\ {{{{Direction}_{5}{\_ metric}} = {{PowerEarly}_{1} + {PowerCenter}_{2}}}\quad} \\ {{{{Direction}_{6}{\_ metric}} = {{PowerLate}_{1} + {PowerCenter}_{2}}}\quad} \\ {{{{Direction}_{7}{\_ metric}} = {{PowerEarly}_{1} + {PowerLate}_{2}}}\quad} \\ {{{{Direction}_{8}{\_ metric}} = {{PowerLate}_{1} + {PowerEarly}_{2}}}\quad} \\ {{{{Direction}_{9}{\_ metric}} = {{PowerCenter}_{1} + {PowerEarly}_{2}}}\quad} \end{matrix} \right. \end{matrix}$

where PowerEarly_(i), PowerCenter_(i) and PowerLate_(i) are estimated early, center and late power of finger₁ respectively.

In another preferred embodiment, directions 6, 8 and 9 can be limited, so that if the delay between the fingers is less than a pre-specified threshold (e.g. ⅞ Tc), then the corresponding direction metric is zeroed. This ensures that those directions are not chosen in step 12 and prevents the situation where the fingers become too closely spaced.

Similarly, in a 3-finger block, direction metrics are assigned to all possible 27 joint movement directions in accordance with FIGS. 2A-2C.

In another preferred embodiment, time averaging with or without forgetting factors (known in the art) can be applied to each of the direction metrics in order to reduce their statistical variability. In one preferred embodiment Equations (1) are replaced by: $\begin{matrix} \left\{ \begin{matrix} {{{Smoothed\_ L}_{1}{\_ L}_{2}} = {{\left( {1 - \alpha} \right){Smoothed\_ L}_{1}{\_ L}_{2}} +}} \\ {\alpha \left\lbrack {{PowerLate}_{1} + {PowerLate}_{2}} \right\rbrack} \\ {{{Smoothed\_ E}_{1}{\_ E}_{2}} = {{\left( {1 - \alpha} \right){Smoothed\_ E}_{1}{\_ E}_{2}} +}} \\ {\quad {\alpha \left\lbrack {{PowerEarly}_{1} + {PowerEarly}_{2}} \right\rbrack}} \\ {{{Smoothed\_ C}_{1}{\_ C}_{2}} = {{\left( {1 - \alpha} \right){Smoothed\_ C}_{1}{\_ C}_{2}} +}} \\ {\quad {\alpha \left\lbrack {{PowerCenter}_{1} + {PowerCenter}_{2}} \right\rbrack}} \\ {{{Smoothed\_ C}_{1}{\_ L}_{2}} = {{\left( {1 - \alpha} \right){Smoothed\_ C}_{1}{\_ L}_{2}} +}} \\ {\quad {\alpha \left\lbrack {{PowerCenter}_{1} + {PowerLate}_{2}} \right\rbrack}} \\ {{{Smoothed}\quad E_{1}{\_ C}_{2}} = {{\left( {1 - \alpha} \right){Smoothed\_ E}_{1}{\_ C}_{2}} +}} \\ {\quad {\alpha \left\lbrack {{PowerEarly}_{1} + {PowerCenter}_{2}} \right\rbrack}} \\ {{{Smoothed\_ L}_{1}{\_ C}_{2}} = {{\left( {1 - \alpha} \right){Smoothed\_ L}_{1}{\_ C}_{2}} +}} \\ {\quad {\alpha \left\lbrack {{PowerLate}_{1} + {Power\_ Center}_{2}} \right\rbrack}} \\ {{{Smoothed\_ E}_{1}{\_ L}_{2}} = {{\left( {1\quad \alpha} \right){Smoothed\_ E}_{1}{\_ L}_{2}} +}} \\ {{\alpha \left\lbrack {{PowerEarly}_{1} + {PowerLate}_{2}} \right\rbrack}\quad} \\ {{{Smoothed\_ L}_{1}{\_ E}_{2}} = {{\left( {1\quad \alpha} \right){Smoothed\_ L}_{1}{\_ E}_{2}} +}} \\ {\alpha \left\lbrack {{PowerLate}_{1} + {PowerEarly}_{2}} \right\rbrack} \\ {{{Smoothed\_ C}_{1}{\_ E}_{2}} = {{\left( {1 - \alpha} \right){Smoothed\_ C}_{1}{\_ E}_{2}} +}} \\ {\quad {\alpha \left\lbrack {{PowerCenter}_{1} + {PowerEarly}_{2}} \right\rbrack}} \end{matrix} \right. & \text{(2A)} \\ \left\{ \begin{matrix} {{{Direction}_{1}{\_ Metric}} = {{Smoothed}\quad L_{1}\quad L_{2}}} \\ {{{Direction}_{2}{\_ Metric}} = {{Smoothed\_ E}_{1}{\_ E}_{2}}} \\ {{{Direction}_{3}{\_ Metric}} = {{Smoothed}\quad C_{1}{\_ C}_{2}}} \\ {{{Direction}_{4}{\_ Metric}} - {{Smoothed\_ C}_{1}{\_ L}_{2}}} \\ {{{Direction}_{5}{\_ Metric}} = {{Smoothed\_ E}_{1}{\_ C}_{2}}} \\ {{{Direction}_{6}{\_ Metric}} = {{Smoothed\_ L}_{1}{\_ C}_{2}}} \\ {{{Direction}_{7}{\_ Metric}} = {{Smoothed\_ E}_{1}{\_ L}_{2}}} \\ {{{Direction}_{8}{\_ Metric}} = {{Smoothed\_ L}_{2}{\_ E}_{2}}} \\ {{{Direction}_{9}\quad {Metric}} = {{Smoothed\_ C}_{1}{\_ E}_{2}}} \end{matrix} \right. & \text{(2B)} \end{matrix}$

where α ε[0,1] is the forgetting factor.

Furthermore, in accordance with a preferred embodiment of the present invention, the step of assigning metrics to all possible directions can also include a comparison of the strongest metric in Equations (1) or Equations (2B) to the second strongest metric or some other metric. If the difference is smaller than a certain pre-specified threshold “Metric_Threshold”, Direction_(3—)Metric is assigned a large value. This ensures that in such a case, Direction_(3—)Metric is chosen in step 12 and no finger movement occurs (see FIG. 1). Thus, finger movement occurs only when the strongest direction metric is larger than the compared metric by more than Metric_Threshold.

In another preferred embodiment, after a finger movement occurs in step 14, all smoothed direction metrics in Equations (2A) are zeroed, so as to abandon all measurements related to the previous finger locations.

It will be apparent to someone skilled in the art that various other direction metrics can be assigned based on the channel tap estimator, reception quality and their combination with finger power measurements.

When one or more fingers are moved in step 14, the relationships of all the fingers being tracked change. It is possible that a finger is now sufficiently far away to no longer be part of the block, or, alternatively, that a finger previously not of the block is now close to one of the fingers of the block and, thus, must be included in the block. These considerations are performed in step 16 and the finger block(s) are redefined, if necessary.

The present invention can be implemented, for any number of fingers in a finger block and for any definition of a finger block. One exemplary definition is that a finger block has two fingers, and RANGE accepts the single value RANGE=⅞ Tc. Thus, the two fingers in the finger block are exactly ⅞ Tc apart and are not allowed to become closer. Therefore, directions 6, 8 and 9 are discarded. This reduces the number of possible movements from nine to six, as shown in FIG. 4, to which reference is now made. The two fingers can become late (direction1), become early (direction2), or stay at the correct sampling time (direction3). These three movements do not alter the timing relationship between the fingers in the block. The three other movement directions cause a finger block to separate, are considered where the later finger becomes later (direction4), the earlier finger becomes earlier (direction5) or the earlier finger becomes earlier and the later finger becomes later (direction7).

According to a preferred embodiment of the present invention, the number of possible movements can be further reduced to five, where the five directions are directions 1-5 of FIG. 4.

FIG. 5 illustrates a joint tracking method for a finger block of two fingers using the movements shown in FIG. 4. FIG. 5 is a special case of the general flow chart of FIG. 3. Only those fingers which are close to each other, are jointly tracked. The other fingers are individually tracked by conventional methods. The individual tracking will not be discussed herein as it is well known in the art.

In step 30, the early, late and central power measures PowerEarly_(i), PowerLate_(i), and PowerCenter_(i), respectively, of each finger are derived (i is a number of finger).

In step 32, the direction metrics related to the six possible movements of FIG. 4, are determined in accordance with Eqs. 2A and 2B. The direction metrics are formed from the relevant combinations of the pairs of the individual early, late and central powers. The pairs are: both early (PowerEarly₁, PowerEarly₂), both late (PowerLate₁, PowerLate₂), both central (PowerCenter₁, PowerCenter₂), early-central (PowerEarly₁, PowerCenter₂), central-late (PowerCenter₁, PowerLate₂) and early-late (PowerEarly₁, PowerLate₂), and the calculations are as follows:

Smoothed_E_(1—)K₂=(1−α)Smoothed_E₁E₂+u(PowerEarly₁+PowerEarly₂)

Smoothed_L_(1—)L₂=(1−α)Smoothed_L_(1—)L₂+α(PowerLate₁+Power Late₂)

Smoothed E₁C₃=(1−α)Smoothed_E_(1—)C₂+α(PowerEarly₁+PowerCenter₂)

Smoothed_C_(1—)L₂=(1—α)Smoothed_C₁L₂+α(PowerCenter₁+PowerLate₂)

Smoothed_C_(1—)C₂=(1—α)Smoothed_C_(1—)C₂+α(PowerCenter₁+PowerCenter₂)

Smoothed_E_(1—)L₂=(1—α)Smoothed_E_(1—)L₃+α(PowerEarly₁+PowerLate₂)   (3)

In step 34, the largest direction metric is selected, and in step 36, it is checked whether the maximal direction metric involves finger movement. If the maximal direction metric is the central metric Smoothed_C_(1—)C₂, no finger is moved. Otherwise, in step 38, it is checked whether the maximal metric is larger than another metric by more than a predetermined threshold, for example the value 16. If the maximal metric is sufficiently large, then in step 40 the relevant fingers are adjusted, the metrics are zeroed, and joint tracking is switched off if the distance between the fingers is more than RANGE. Finally, the finger blocks are redefined (step 42).

The threshold check of step 38 compares the maximal metric with another metric. If the maximal metric is the double early metric Smoothed_E_(1—)E₂, indicating that both fingers have become earlier (direction 2 of FIG. 4), then it is compared to the double late metric Smoothed_L_(1—)L₂. If the difference Smoothed_E_(1—)E₂-Smoothed_L_(1—)L₂ is greater than the threshold, the finger adjustment of step 40 is the advancement of both finger_1 and finger_2. Since the fingers were moved, new finger blocks are defined based on the new delay of the fingers.

If the maximal metric is the double late metric Smoothed_L_(1—)L₂, indicating that both fingers have become later (direction 1 of FIG. 4), then it is compared to the double early metric Smoothed_E_(1—)E₂. If the difference Smoothed_L_(1—)L₃-Smoothed_E_(1—)E₂ is greater than the threshold, the finger adjustment of step 40 is the delay of both finger_1 and finger_2. Since the fingers were moved, new finger blocks are defined based on the new delay of the fingers.

If the maximal metric is the mixed metric Smoothed_E_(1—)C₂, indicating that the first finger has become earlier (direction 5 of FIG. 4), then it is compared to the central metric Smoothed_C_(1—)C₂. If the difference Smoothed_E_(1—)C₂-Smoothed_C_(1—)C₂ is greater than the threshold, the finger adjustment of step 40 is the advancement of finger_1. Since finger_1 moved away, the two fingers are now sufficiently separate and the joint tracking is now switched off. Since the fingers were moved, new finger blocks are defined based on the new delay of the fingers.

Similarly, if the maximal metric is the mixed metric Smoothed_C_(1—)L₂, indicating that the second finger has become later (direction 4 of FIG. 4), then it is compared to the central metric Smoothed_C_(1—)C₂. If the difference Smoothed_C_(1—)L₂-Smoothed_C_(1—)C₂ is greater than the threshold, the finger adjustment of step 40 is the delay of finger_2. Since finger_2 moved away, the two fingers are now sufficiently separate and the joint tracking is now switched off. Since the fingers were moved, new finger blocks are defined based on the new delay of the fingers.

If the maximal metric is the mixed metric Smoothed_E_(1—)L₂, indicating that the first finger has become earlier and the second finger has become later (direction 7 of FIG. 4), then it is compared to the central metric Smoothed_C_(1—)C₂. If the difference Smoothed_E_(1—)L₂-Smoothed_C_(1—)C₂ is greater than the threshold, the finger adjustment of step 40 is the advancement of finger_1 and the delay of finger_2. Since the fingers have moved apart, the two fingers are now sufficiently separate and the joint tracking is now switched off. Since the fingers were moved, new finger blocks are defined based on the new delay of the fingers.

Reference is now made to FIG. 6 which details the operations of step 42 (redefine finger blocks). Each finger FINGER_X which has been moved is reviewed to consider whether or not it is now close to other fingers. In step 60, the delays between FINGER_X and all the other fingers not in the same finger block with FINGER_X are determined, and, in step 62, the finger closest to FINGER_X is labeled FINGER Y. The delay between FINGER_X and FINGER_Y is labeled MinDelay.

The delay MinDelay is then compared (step 63) to a minimum allowed threshold delay, for example ⅞ Tc. If the delay MinDelay is larger than the threshold level, then the finger is sufficiently far from the other fingers to be individually tracked. Thus, conventional early-late time tracking will be performed (step 64) on it. Otherwise, FINGER_X and FINGER_Y are too close to each other and either one of them has to be removed or they both must be tracked as part of a finger block.

In step 65 FINGER_X and FINGER_Y are checked to see if they are part of a finger block. If FINGER_X and FINGER_Y are not part of a finger block, a finger block is created (step 69) from FINGER_X and FINGER_Y. Otherwise, in step 66, FINGER X is checked to see if it is part of a finger block. If FINGER_X is part of the block, FINGER_Y is switched off (i.e. it is no longer used as a finger) in step 67. Otherwise, FINGER_X is switched off in step 68. It will be appreciated that if the switched off finger is part of a block having a pair of fingers, joint tracking is also switched off.

It will be appreciated that the presence of a finger block affects various other elements of the receiver, all of which must be slightly modified to include operation with finger blocks. FIGS. 7 and 8, to which reference is now made, illustrate these modified operations for close path detection, finger replacement and finger removal.

Reference is now made to FIG. 7 which details the method in which it is decided whether a new path candidate should be added to the rake as a new finger. The method for generating new path candidates is known in the art and is therefore not described. In step 70 CompositeFingerPower is computed for all active rake fingers, where

CompositeFingerPower=F(PowerCenter₁,ρ,Λ)

and ρ is the cross-correlation between the finger and its closest neighbor in the rake receiver or between the finger to the new finger candidate. If it is closer than all other rake fingers, Λ is the delay to the closest finger, i is the finger number, and F(•,•,•) is an arbitary function. For example, if Δ>=T_(c) F(PowerCenter₁, ρ, Λ) can be set equal to PowerCenter_(i), i.e.

F(PowerCenter_(i), ρ,Λ)=PowerCenter_(i)   (4)

in which case the method of FIG. 7 reduces to the conventional finger assignment method that assigns fingers based only on their relative power.

The cross-correlation ρ can be one of the following $\begin{matrix} {\rho = \quad \frac{{Re}{\sum\limits_{k = 1}^{N}\quad \left( {{{ch}_{{Finger}_{i}}(k)} \cdot {{ch}_{{Finger}_{j}}^{*}(k)}} \right)}}{\sum\limits_{k = 1}^{N}\quad {\left( {{{ch}_{{Finger}_{i}}(k)} \cdot {{ch}_{{Finger}_{j}}^{*}(k)}} \right)}}} & (5) \\ {or} & \quad \\ {\quad {\rho = \quad \frac{{\sum\limits_{k = 1}^{N}\quad {{{ch}_{{Finger}_{i}}(k)} \cdot {{ch}_{{Finger}_{j}}^{*}(k)}}}}{\sqrt{\sum\limits_{k = 1}^{N}\quad {{{{ch}_{{Finger}_{i}\quad}(k)}}^{2} \cdot {\sum\limits_{k = 1}^{n}\quad {{{ch}_{{Finger}_{j}}^{*}(k)}}^{2}}}}}}} & (6) \end{matrix}$

where ch(k)_(Finger) _(i) is the channel estimate for Finger_(i), Finger_(j) is the finger closest to Finger₁, (•)* stands for the complex conjugate of the bracketed expression and the sum is over a pre-specified length of time.

If Δ<T_(c), F(PowerCenter_(i), ρ, Λ) can be defined as:

F(PowerCenter_(i), ρ, Δ)=PowerCenter_(i)*f(ρ)

where the function f(ρ) is any function, for example:

Case Function f(ρ) ρ < 0.35 1.0 0.35 < ρ < 0.45 0.9 0.45 < ρ < 0.55 0.8 0.55 < ρ < 0.65 0.66 0.65 < ρ < 0.75 0.52 0.75 < ρ < 0.85 0.38 0.85 < ρ < 0.92 0.23 0.92 < ρ < 1.0 0.14

In step 72, a similar calculation is performed for the new finger candidate and CompositeFingerCandidatePower is computed. It will be appreciated that function F(•,•,•) and ρ calculation can be different for step 70 and step 72, and other choices of function can be used, e.g. ρ can be calculated by incorporating an exponential forgetting factor.

In step 73, two different branches are examined. If the number of fingers currently used equals the maximum number allowed (i.e. all rake fingers are active), the first branch has to be executed. In this branch CompositeFingerCandidatePower is compared (step 77) with the minimum of all CompositeFingerPower's. If it is greater than this minimal power, then the finger, associated with minimal CompositeFingerPower, is moved to the location (timing) of the new finger candidate (step 78). Finally, in step 79, a redefinition of the finger blocks is taking place. If CompositeFingerCandidatePower is less than this minimal power, no fingers are moved.

If the number of fingers currently used is less than the maximum number allowed, CompositeFingerCandidatePower is compared (step 74) to a threshold NewFingerThreshold. If it is greater than the threshold, then a new finger is added (step 75) and a redefinition of the finger blocks is taking place (step 76). Otherwise, the new finger candidate is not added to the rake receiver.

FIG. 8 illustrates the removal of an existing finger from a finger block, comprised from two fingers, such as might be periodically performed. The method of FIG. 8 is performed periodically to remove fingers. The conventional method for switching off a finger is to do so when the finger power measurements are low relative to other fingers. This criterion is not effective for removing a finger from a finger block. The present invention uses the following FingerCost function to evaluate whether a finger in a finger block should be turned off:

FingerCost=α·min(PowerCenter₁,PowerCenter₂)−ρ·C   (8)

where α is any desired value between zero and one, PowerCenter₁ and PowerCenter₂ are powers of fingers in the finger block, C is a prespecified constant and ρ is defined in Equations (5) and Equations (6) with i=1 and j=2.

As shown in FIG. 8, initially, the correlation ρ between the two fingers finger_1 and finger_2 is determined (step 80) after which the value of FingerCost is calculated (step 82) and compared (step 84) to a threshold.

If the result is less than the threshold, then the finger having the minimum average power is removed (step 86) and the joint tracking operation is stopped (since there remains only one finger in finger block). Otherwise, no fingers are removed. A similar finger remover mechanism can be defined for finger blocks having three or more fingers.

It will be appreciated by persons skilled in the art that the present invention is not limited by what has been particularly shown and described herein above, rather the scope of the invention is defined by the claims that follow. 

What is claimed is:
 1. A method used in a receiver having at least two fingers forming a finger block, the finger block tracking at least one path of a multipath channel, the method comprising the steps of: generating direction metrics of each of a set of possible directions of joint movement of the fingers of said finger block; selecting one of said direction metrics according to a predetermined criterion; and moving the fingers of said finger block in the directions indicated by said selected direction metric.
 2. A method according to claim 1, wherein said selected direction metric is the maximal direction metric.
 3. A method according to claim 1, wherein said step of moving adjusts the fingers of said finger block only if said selected direction metric is the maximal direction metric and exceeds a comparison direction metric by at least a predetermined threshold.
 4. A method according to claim 1, wherein the method further comprises the step of redefining finger blocks after said step of moving.
 5. A method according to claim 1, wherein said finger block is formed of two fingers.
 6. A method according to claim 5, wherein said direction metrics are generated for five different directions of joint movement.
 7. A method according to claim 5, wherein said direction metrics are generated for six different directions of joint movement.
 8. A method according to claim 5, wherein said direction metrics are generated for nine different directions of joint movement.
 9. A method according to claim 1, wherein said finger block is formed of two closely spaced fingers.
 10. A method according to claim 9, wherein said closely spaced fingers are ⅞ chip apart.
 11. A method according to claim 1, wherein said finger block is formed of three fingers.
 12. A method according to claim 1, wherein delays between fingers are set to be no smaller than ⅞ chip.
 13. A method according to claim 1, wherein said step of generating includes the step of time averaging said direction metrics by summing consecutive direction metrics.
 14. A method according to claim 13, wherein said step of time averaging uses a forgetting factor.
 15. A method according to claim 1, wherein said direction metrics are based on power estimation. 